23

» WarCraft 3 / Меню диалога

Похожие вопросы:

ответ
Не нарушит. Конвертни в код и посмотри как выглядит цикл, создаваемый этим GUI элементом. Все элементарно ;)
ответ
Конструкция сделана верно. Только кто должен быть в области, я не понял.
ответ
По диалогам вопрос снят, вроде нашёл. В триггерах. Вопрос актуален по инфе на экране, я так понимаю, что тоже где-то там, но мб подскажите конкретнее?

Все вопросы сняты, разобрался сам =D
ответ
У тебя нет файла дорожки анимации для этй звуковой дорожки
А инструмент они не предоставили
ответ

23

» WarCraft 3 / Герой не возрождается

Похожие вопросы:

ответ
На сотом уровне сделай чтобы можно было выучить скилл на основе морфа сфинкса 'Aave' у силла настрой альтернативные и нормальные формы Юнита, флаг требуется оплата убери.
Когда Юнит выучит способность триггерно приказывай применить ее.
ответ
not_name:
я карту посмотрел, да, пытался сделать похожее
только там с очередью приказов шляпа выходит, поэтому я лучше сделаю все визуально

в общем, реализовал, как и говорил выше - при смерти сразу воскрешаю героя на месте гибели, пауза, анимация, таймер, по прошествии таймера - выдаю все нужное, при повторной смерти - забираю
адекватно работает с крестами
ответ
Steal nerves, для такой системы достаточно локалка + вейт
и ненужны никакие массивы и хэштаблицы
локалки как раз обеспечивают муи

23

» WarCraft 3 / Реалистичный туман.

Похожие вопросы:

ответ
  1. Думаю, что можно.
Берем основную модель, возможно, вообще без мяса, только с гусеницами, но с кучей точек крепления. Также берем кучу моделей-аттачметов, представляющих собой эти самые пушки, корпуса и все прочее. При выборе характеристик модели через диалог или интерфейс соответственно создаем на основной модели эффекты-аттачменты, будет собрана техника. Такие штуки, как двигатель и прочие невидные извне элементы будут скорее входить в математическую модель юнита, но это также можно запилить. Название танка - сразу не скажу, есть ли триггер на смену, но на таблице рекордов можно отобразить что угодно.

2.Тоже можно.
Создаем погодный в определенной местности и делаем два триггера для контроля входа-выхода юнитов из нее. На искомых юнитов применяем нужные способности - и все готово.

  1. Здесь чуть сложнее: нужно постоянно проверять тип местности под юнитом, но тоже можно. Проверка на ограждения тоже может бить сделана.

4.Это уже интереснее. Видел раньше подобное в играх. При каждой атаке юнита случайным образом наносим или не наносим доп. урон, эффект горения, кидаем спелл на цель в зависимости от теоретического места попадания атаки.

5.И это можно. Но нужно писать нестандартную систему Альянса. Но через триггеры и JASS все можно...

  1. Продажа техники - лучше через способность, что бы кидать ее на понравившегося юнита, не стоит покупать кота в мешке. Стоимость должна зависеть от технического уровня юнита, его текущего состояния (мертвый танк попадет вам бесплатно, сами чините!), если он был модернизован дополнительно, то это тоже входит в стоимость. Разрешение на продажу делаем аналогично.

  1. Это легко через Custom Value и переменние.

Как ты понял, все что ты предложил создать можно, но на это нужно потрать хороший кусок времени. Остается пожелать тебе удачи над созданием проекта - мне идея уже нравится.

23

» Администрация XGM / Можете удалить мой ресурс

Похожие вопросы:

ответ
Обновил навигацию и добавил подменюшку в профиле.
Но это не помогло найти твои ресурсы. У тебя нет ни опубликованных, ни снятых с публикации ресурсов.
Счетчик ресурсов в профиле не меняли давно - сломаться это не могло.
Есть только записи в блоге, а это не листится в списках ресурсов.
Записи блогов работают как нужно - мы не оцениваем их качество, но и не продвигаем в индексе.
В связи с этим появился вопрос - а были ли у тебя ресурсы?

Я знаю, что был xgm.guru/p/wc3/new-rules-maps но автора публикации сменили на niken 31.12.2021
Не знаю, зачем, но уже не важно - ресурс больше не представляет ценности.

23

» WarCraft 3 / два юнита одновременно

Похожие вопросы:

ответ
Да, реально. Для этого тебе понадобится сделать три вещи:
  1. Создать улучшение на основе улучшения для Headhunter.
  2. Создать способность на основе способности "Безумие" (именно она и изменяет Headhunter'а). Я имею в виду ту способность, в которой в данных нужно указать "тип войск".
  3. Добавить обоим юнитам эту способность. Также посмотри, чтобы в параметре "взаимосвязь эквивалентов" у твоего "рыцаря" стоял "паладин".
ответ
Ну только триггерные системы отрядов, была такая...
Вот пример ссылочка
Были и другие, поиск в помощь.
Вот еще ссылка
ответ
И вот ещё в теме по этому поводу рассуждал
Получается, что для каждого юнита на карте со способностью, имеющей вероятность срабатывания нужно сделать свою БД рандомов, так сказать сгенерировать ряд рандомных чисел? Или даже не для отдельного юнита, а для отдельной способности каждого юнита?
avuremybe:
Proshel_Doty, ну так втули 20 циклов с рандомом. Будет тебе для 20 абилок.
Ну вот получается к этому и приходим, что нужно делать для каждого
ClotPh:
Proshel_Doty, да вот хотя бы крутилка акса в доте 2 уже именно так работает, и заряды, и перезарядка, и фактически увеличивающийся шанс
другое дело, что не обязательно в базовой информации игрокам слишком много мозги компостировать, им достаточно условно знать про шанс там 15%, 20% или 30%, ну и мб перезарядку
По-моему про крутилку акса ты чего-то не знаешь)
А именно, то что он может прокрутиться 3 раза, когда его бьют 3 юнита всего
И не крутиться почти, когда его бьют 5 крипов
Если бы оно работало, как ты говоришь, то он бы крутился всегда идеально, но там по-моему как раз вот этот безумный рандом
ответ
Никак нельзя
Только разные баффы от аур стакаются. Например, нестандартный баф ауры выносливости + стандартный.
Можно попробовать сделать замедление через ауру, действующую только на самого юнита, запихнуть ее в скрытый (запрещенный) спеллбук чтобы не было видно иконку. Давать этот спелбук с аурой при наложении способности, и убирать через нужное время.
Только такой бафф не будет сниматься всякими Очищениями.
ответ
  1. Хорошая модель должна иметь минимальное необходимое количество полигонов. Что будет если заспавнить много юнитов можешь проверить и сам.
  1. 8 Мб - лимит для патчей до версии 1.26. В последнем патче карта может весить 100+ Мб. О скорости скачивания ничего не могу сказать.

23

» WarCraft 3 / Как удалить War3map.j из карты?

Похожие вопросы:

ответ
ничем, кроме названий переменных. попробуй отключить морфинг имен
ответ
BartSi, очень странно.
Нашёл проблему. В редакторе ландшафта нужно выбрать Camera Palette (там где юниты, декорации и прочее) выбрать первую строчку (камера без имени) и удалить. Тогда проблема решится. Сбросил триггеры и удалил камеру.
Ошибка из-за того, что у камеры почему-то пустое имя. Из-за этого её переменная оканчивается на _, что нельзя в JASS.

BartSi, каким конвертером 1.31 -> 1.26 пользовался?

Hodor, твой конвертер случайно не шаманит с камерами?

23

» WarCraft 3 / Ланшафт

Похожие вопросы:

ответ
После импорта текстуры необходимо выбрать её в менеджере импорта и поставить галочку - использовать нестандартный путь. Затем в зависимости от названия твоей текстуры нужно задать путь - TerrainArt\ИМЯ ПАПКИ\ИМЯ ТЕКСТУРЫ. Например твоя текстура имеет название Cave_Brick.blp, тогда ты прописываешь такой путь -TerrainArt\ Dungeon\Cave_Brick.blp.Иначе говорят ты просто заменяешь старую текстуру на новую. Вот здесь ты найдёшь необходимые пути к текстурам ternox.com/forum/31-4271-1.
ответ
ScopteRectuS, если человек утверждает, что на одном компе все норм, а на другом происходит такая шняга, то как тут может быть проблема в карте?)

23

» WarCraft 3 / AI на WAI

Похожие вопросы:

ответ
Щас бы в 2018 делать Melee карты)))))
В гуи сделай обычный ИИ (если карта не совсем стандартная)
А ещё лучше: xgm.guru/p/wc3/aieditor

23

» WarCraft 3 / Ремонт Битой Карты

Похожие вопросы:

ответ
Ahotnik001, писать триггерную систему приоритетов атаки
подробнее в статьях либо поиске (вроде выкладывали подобное)

23

» IrInA Host Bot / Как создать автохост? Здравствуйте.

Похожие вопросы:

ответ
Я не против интегрировать статистику карты в бота. Но есть 2 проблемы:
  1. У нас нет сайтодела который бы сверстал что надо.
  2. Желательно иметь бы исходник карты, чтобы интегрировать отправку w3mmd. Или узнать структуру готовых данных

23

» IrInA Host Bot / Выкидывает с карт

Похожие вопросы:

ответ
На данный момент наблюдаются проблемы с патчем 1.31. Сроков пока не даем.
ответ
Бот неправильно рассчитывает конфиг этой карты. Решения проблемы пока нет
ответ
Ты про game.dll? Его можно скачать, поискав в интернете. Или под этим сообщением.

23

» WarCraft 3 / Опыт героя

Похожие вопросы:

ответ
Наилучший вариант - писать свою систему опыта.
Еще можешь попробовать отключить общее распределение опыта.
Либо, вот так
Либо, так распределение опыта варкрафт
Либо, так: распределение опыта варкрафт
А еще, вот так: распределение опыта
ответ
Если светлячок крип, то по достижению N уровня герой начинает получать меньше опыта от его убийства
На скриншоте показана сама строка отвечающая за набираемый героем опыт от крипов в %
На мой взгляд легче сделать триггер-базу данных и отлавливать смерть юнита, а далее через Если То Иначе сделать получение опыта на каждый тип юнитов.
ответ
чтобы было вообще по своему вкусу отключаешь стандартное получение опыта и пишешь свою систему
в этом тебе помогут статьи
ответ
Зайдите в константы, нажав пункт меню Дополнительно->Игровые константы.
Затем нажмите галочку "Использовать нест. игровые константы"
Опыт героя - "Общее распределение", нажмите Enter или дв. щелчок лев. кноп мыши, измените значение на нет, сняв галочку с параметра, Enter. ок. ок.
ответ
Герой -> отключить получение опыта

23

» WarCraft 3 / Юнити

Похожие вопросы:

ответ
Работай с real (числа с запятой) вместо регионов, занеси в бд или проверяй условиями нужные координаты и выбирай.
Точка не будет утекать, если хранить одну точку в глобальной переменной и для мгновенных операций перемещать ее и использовать дальше по назначению.
  1. В шапку над триггерами вставляешь этот код:
function RegionInit takes nothing returns nothing
//17/11/2016
    set udg_GL = Location(0.0, 0.0)
    set udg_RegionNumber = GetRandomInt(1, 4) // выбрать количество регионов
    set udg_RegionX1 = GetRectMinX(udg_Region[udg_RegionNumber])
    set udg_RegionY1 = GetRectMinY(udg_Region[udg_RegionNumber])
    set udg_RegionX2 = GetRectMaxX(udg_Region[udg_RegionNumber])
    set udg_RegionY2 = GetRectMaxY(udg_Region[udg_RegionNumber])
endfunction

  1. Создаешь глобальные переменные типа:
    • точка с названием GL
    • регион массив с названием Region
    • целочисленная с названием RegionNumber - для хранения номера выбранного региона
    • реальное число с названиями RegionX1, RegionX2, RegionY1, RegionY1 - для хранения координат выбранного региона
После действий на картинке в инициализацию вставляешь кастом скрипт:
call RegionInit()

  1. Перед каждым созданием юнита вставляешь кастом скрипт:
call MoveLocation(udg_GL, GetRandomReal(udg_RegionX1, udg_RegionX2), GetRandomReal(udg_RegionY1, udg_RegionY2))
В окне действия с созданием юнита используешь свою переменную GL
ответ
Лови карту.
ответ
циклом (данного юнита от 1-6 слотов, на jass от нумерация слотов начинается так 0-5) пробегаешься по каждому слоту и проверяешь тип, кол-во зарядов. я на гуи что-то не нашел эту команду UnitItemInSlot
native UnitItemInSlot takes unit whichUnit, integer itemSlot returns item
кол-во итемов
ищем в каждом слоте один и тот же тип предмета. Этот код считывает кол-во итемов занимаемые в слотах
local integer id = ''//id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
//внизу начинается цикл, его блок 
loop //начало цикла
    exitwhen i > 5 //условие выхода из цикла
    if GetItemTypeId(UnitItemInSlot(u,i)) == '' then //если тип в слоте равен ....
        set c = c + 1
    endif
    set i = i + 1
endloop //конец цикла
кол-во предметов данного типа с N зарядами
local integer id = '' //id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
loop
    exitwhen i > 5

    if GetItemTypeId(UnitItemInSlot(u,i)) == id or GetItemCharges(UnitItemInSlot(u,i)) == 5 then //если тип в слоте такой, и и у этого итема зарядов равно 5
        set c = c + 1
    endif
    set i = i + 1
endloop
set u = null
ответ
добавляешь обоих
блокируешь улучшенного при старте карты всем игрокам
лучший и простейший вариант
ответ
без мемхака - нет